Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding the ARSPointCloudFilter node in the Radar ROS2 Pipeline #19

Open
wants to merge 53 commits into
base: main
Choose a base branch
from

Conversation

rijin113
Copy link
Contributor

@rijin113 rijin113 commented Mar 22, 2023

Adding a ROS2 node that filters and publishes radar detections (near scan and far scan) from the Continental ARS430 radar sensor for visualization and object detection in the Radar ROS2 Pipeline. Please refer to the figure below for more details.
Note: When testing the node, about 38 tests will get executed. This includes all the unit tests for the filters as well.

image

ClickUp Task: Radar ROS2 Pipeline
(Migrate the ROS1 code for the old continental driver to ROS2 and support inference with CenterFusion and visualization of pointclouds/bounding boxes in RViz)

rijin113 and others added 30 commits January 25, 2023 22:49
@rijin113 rijin113 self-assigned this Mar 22, 2023
@rijin113 rijin113 removed their assignment Mar 22, 2023
Copy link
Collaborator

@CheranMahalingam CheranMahalingam left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mostly nits for coding conventions. The one thing I am still thinking about is how to remove the need for parameters to be set to -9999.99 because that's difficult to read, let me know if you have any ideas.


ENTRYPOINT ["/usr/local/bin/fixuid", "-q", "/home/docker/wato_ros_entrypoint.sh"]

CMD ["tail", "-f", "/dev/null"]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Command should run the relevant ROS node or launch file

/**
* @brief Variables only used for common scan filter.
*/
scan_params near_scan_single_;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: near_scan_single_ sounds redundant since a near scan is one scan, try near_scan_ instead and rename the array to near_scane_buffer_.

* @brief A ROS2 subscription node callback used to unpack raw ARS radar data from the "unfilteredRadarRight"
* topic.
*
* @param msg a raw message from the "unfilteredRadarRight" topic
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Make sure the topic name you mention here is the one you are actually listening to.

#include "radar_msgs/msg/radar_packet.hpp"
#include "radar_msgs/msg/radar_detection.hpp"

namespace filtering
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This namespace is generic, it could apply to any other sensor driver or perception. It could be renamed to continental_driver. Some ideas for how some companies standardize namespacing,
image

if (near_scan_[buffer_index_].packet_count_ != near_scan_capacity_ ||
far_scan_[buffer_index_].packet_count_ != far_scan_capacity_)
{
RCLCPP_WARN(rclcpp::get_logger("rclcpp"), "Incomplete total packet count! Not 30.\n");
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: Warning could provide more information to the user, i.e. Received incomplete radar packet with %d messages, expected 30.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants